import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path";
const common = require('./build/common.js')
// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  plugins: [vue()],
  define: common.define,
  // 别名
  resolve: {
    // 别名
    alias: {
      '@': path.resolve(__dirname, 'src'),
    },
  },
  build: {
    cssCodeSplit: true, // 启用/禁用 CSS 代码拆分 禁用后 css拆成独立文件
    sourcemap: false, // 是否打包sourcemap
    /** 正常打包项目 start*/
    // 指定输出路径（相对于 项目根目录).
    /** 正常打包项目 end*/

    /** 打包成库文件 start*/
    /*rollupOptions: {
      // 确保外部化处理那些你不想打包进库的依赖
      external: ['vue'],
      output: {
        assetFileNames: `${common.package.name}.[ext]`,
        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
        globals: {
          vue: 'Vue'
        }
      }
    },
    lib: {
      // 入口
      entry: `src/install/index.js`,
      // 暴露的全局变量
      name: common.package.name,
      // 输出的包文件名，默认 fileName 是 package.json 的 name 选项
      fileName: (format) => `${common.package.name}-${format}.js`,
    },
    // 指定输出路径（相对于 项目根目录).
    outDir: `public/${common.package.name}`,*/
    /** 打包成库文件 end*/
  },
})
